package compile;

/**
 * 该类是一个答案的实体类，运行程序后封装一个答案
 *
 */

public class Answer {
    /**
     * 3种状态：
     * 0：可以正常编译和运行
     * 1：编译出错
     * 2、运行出错
     */
    private int error;
    // 出错的提示信息. 如果 error 为 1, 编译出错了, reason 中就放编译的错误信息, 如果 error 为 2, 运行异常了, reason 就放异常信息
    /**
     * reason：存放的是出错后的信息。出错共2种状态：
     * 1：编译出错：则存储：编译出错了，存放编译出错的说明
     * 2、运行出错：则存储：运行异常了，存放异常的说明
     */
    private String reason;
    // 运行程序得到的标准输出的结果.
    private String stdout;
    // 运行程序得到的标准错误的结果.
    private String stderr;

    public int getError() {
        return error;
    }

    public void setError(int error) {
        this.error = error;
    }

    public String getReason() {
        return reason;
    }

    public void setReason(String reason) {
        this.reason = reason;
    }

    public String getStdout() {
        return stdout;
    }

    public void setStdout(String stdout) {
        this.stdout = stdout;
    }

    public String getStderr() {
        return stderr;
    }

    public void setStderr(String stderr) {
        this.stderr = stderr;
    }

    @Override
    public String toString() {
        return "compile.Answer{" +
                "error=" + error +
                ", reason='" + reason + '\'' +
                ", stdout='" + stdout + '\'' +
                ", stderr='" + stderr + '\'' +
                '}';
    }
}
